CC = gcc
CFLAGS = -Wall -Werror
CLIBS = -lpthread
TOP_DIR = $(PWD)
BUILD_DIR = $(TOP_DIR)/build
LIB_DIR = $(TOP_DIR)/lib
BIN_DIR = $(TOP_DIR)/bin
INC_DIR = $(TOP_DIR)/include

SRC_DIR := \
	$(TOP_DIR)/src/tools \
	$(TOP_DIR)/src/network \
	$(TOP_DIR)/src/client

SRC_TOOLS_DIR := $(TOP_DIR)/src/tools
SRC_NETWORK_DIR := $(TOP_DIR)/src/network
SRC_CLIENT_DIR := $(TOP_DIR)/src/client

INCLUDE = $(patsubst %, -I %, $(INC_DIR))
VPATH = $(SRC_DIR)
export INCLUDE INC_DIR BIN_DIR BUILD_DIR TOP_DIR CC CFLAGS CLIBS LIB_DIR \
	SRC_TOOLS_DIR \
	SRC_NETWORK_DIR \
	SRC_CLIENT_DIR

all:CHECKDIR $(VPATH)
CHECKDIR:
	@mkdir -p $(BUILD_DIR) $(BIN_DIR) $(LIB_DIR)
$(VPATH): RUN
	@make -C $@
RUN:

.PHONY:clean
clean:
	rm -rf $(BUILD_DIR) $(BIN_DIR) $(LIB_DIR)